Since the advent of the era of digital computers, digital data transmission methods have been extremely important in the implementation of computer systems, and various developments have been made. Generally, data transmission methods are based on a physical link also referred to as the “physical layer”, which ensures the physical transmission of electric signals between two points on a line, according to a determined protocol defining the form and duration of the electric signals. Combined with the physical layer, this protocol is completed by a communication protocol, or data link layer, which allows data transfer to be organized while avoiding collisions, by allocating specific data send or receive and synchronization rules between the communicating devices. This second-level protocol is then completed by a third-level protocol made up of commands, transmitted via the physical layer, each command being formed by a bit string the format, content and direction of which comply with predefined rules. In very high-level networks like computer networks or digital telephony networks, there is, beyond these first levels, a substantial hierarchy of protocols that guarantee network consistency in synergy.
The present invention relates to a low-level data transmission method located at the data link layer level, and is intended for industrial applications such as communication between a microcomputer and a microprocessor, to perform test or maintenance operations on the microprocessor using the microcomputer for example, or for communication between two microprocessors, such as two microprocessors arranged on a single printed circuit board for example.
Out of the data transmission methods most commonly used in this field, both synchronous and asynchronous methods can be found. Synchronous methods can be distinguished from asynchronous methods by the existence of a clock wire or line conveying a clock signal sent by a master device, and the other device or devices synchronize with this clock signal to receive or send data. The advantage of synchronous methods is that they allow very long bit strings to be transmitted due to the synchronization performed by the common clock signal. On the other hand, they require several wires to carry the various control signals (RX, TX, RS, TS . . . ) enabling the devices to synchronize their actions.
More particularly, synchronous communication methods have three main drawbacks for the above-mentioned applications. On the one hand, they require the reservation of several microprocessor inputs/outputs to allow control signals to be transmitted. On the other hand, they require provision, in the microprocessor, for specific interface circuits that manage the communication protocol, such as so-called USART circuits (Universal Synchronous Asynchronous Receiver Transmitter), the cost price and size of which are substantial. Finally, they need the respective internal clocks of the two devices that are to converse to be compatible. Moreover, one of the devices may operate in multitasking mode and not be available to send or receive data when prompted by the other device.
Asynchronous data transmission methods are advantageous in that they can be implemented using only two wires or lines, but they also require a specific communication interface circuit, such as a UART circuit (Universal Asynchronous Receiver Transmitter), which manages the communication protocol and includes buffer registers to store the bit strings to be sent or received. Asynchronous communication also needs clock frequencies that are tuned, as a device operating at a determined frequency is unable to receive asynchronous data sent by a device operating at a much higher frequency.